var app = getApp()

var _type = '' // 接收 返程  _return  去 _go
var _url = '' // 请求 百度 api的地址

var origin = ''  // 起点
var origin2 = '' // 用来更新 返程信息 的起点 
var originLat = ''
var originLng = ''

var destination = ''
var destination2 = '' // 用来更新 返程信息 的目的地 
var destinationLat = ''
var destinationLng = ''

Page({
    data: {
      routes : '',  // 一层层路线
      loading: true,
      hint_origin : '', // 提示信息中的 起点
      hint_destination : '' // 其实信息中的 目的地
    },

  // 点击单条 路程信息， 跳转到路程详情
  message: function(e){
    const _this =this
    //console.log(e)
    //console.log(e.currentTarget.dataset.index) // 数组下标
    wx.navigateTo({
      url: './message/message?index='+e.currentTarget.dataset.index,
      success: function(){
        //console.log(_this.data.routes)
        wx.setStorage({
          key: 'message', // 起点
          data: _this.data.routes
        })
        //app.globalData.message = _this.data.routes 这边卡在了 message.js里面 手机端有bug
      }
    })
  },
	onLoad(params){
    const _this = this // 缓存this
    _type = params._type // 获取 url中传来的 _type

		origin = params.origin  // 获取url穿过来的 起点
    //console.log(origin)
    //originLat = app.globalData.originLat // 起点的经度
    //originLng = app.globalData.originLng // 起点的纬度
		destination = params.destination // 获取url穿过来的 目的地
    //console.log(origin)
    //destinationLat = app.globalData.destinationLat // 目的地经度 
    //destinationLng = app.globalData.destinationLng // 目的地纬度

    // 这边改用 wx的 getStorage 获取数据, 之前使用了 app这个全局对象 也不知道哪个好
    wx.getStorage({
      key: 'origin',
      success: function(res) {
        origin2 = res.data
      },
    })
    wx.getStorage({
      key: 'originLat',
      success: function(res) {
        originLat = res.data
      },
    })
    wx.getStorage({
      key: 'originLng',
      success: function(res) {
        originLng = res.data
      },
    })
    wx.getStorage({
      key: 'destination',
      success: function(res) {
        destination2 = res.data
      },
    })
    wx.getStorage({
      key: 'destinationLat',
      success: function(res) {
        destinationLat = res.data
      },
    })
    wx.getStorage({
      key: 'destinationLng',
      success: function(res) {
        destinationLng = res.data
      },
    })
   },

   onReady(){
    const _this = this
    //console.log(originLat)
    // 福楼村 - 观澜 中学
    // https://api.map.baidu.com/direction/v2/transit?origin=22.718886,114.080634&destination=22.723994,114.071317&ak=IEhYRmWsKuZrP3rutOu3GatBBZ27lEVx
    
    // 福楼村 - 湖新城
    // https://api.map.baidu.com/direction/v2/transit?origin=22.718886,114.080634&destination=22.728195,114.082785&ak=IEhYRmWsKuZrP3rutOu3GatBBZ27lEVx
    //const _url = 'https://api.map.baidu.com/direction/v2/transit?origin='+originLat+','+originLng+'&destination='+destinationLat+','+destinationLng+'&ak=IEhYRmWsKuZrP3rutOu3GatBBZ27lEVx'
    //console.log(_url)

    // 这一段  逻辑 写的很混乱......
    if( _type == '_return'){ // 针对 点了返程， 再返程， 再返程
      _type = '_go'
      var tmp = origin2 ? origin2 : origin
      origin2 = destination2 ? destination2 : destination
      destination2 = tmp
      //console.log(123456)
      //console.log(origin2)
      //console.log(destination2)
      _url = 'https://api.map.baidu.com/direction/v2/transit?origin='+originLat+','+originLng+'&destination='+destinationLat+','+destinationLng+'&ak=IEhYRmWsKuZrP3rutOu3GatBBZ27lEVx'

    }else if(_type== '_Firstgo' ){ // 如果是直接查询 第一次go的话 不交换
      _type = '_go'
      origin2 = origin
      destination2 = destination
      _url = 'https://api.map.baidu.com/direction/v2/transit?origin='+originLat+','+originLng+'&destination='+destinationLat+','+destinationLng+'&ak=IEhYRmWsKuZrP3rutOu3GatBBZ27lEVx'

    }else if(_type =='_go'){ // 如果是 返程 则交换  起点和目的地
      _type = '_return'
      var tmp = origin2 ? origin2 : origin
      origin2 = destination2 ? destination2 : destination
      destination2 = tmp
      _url = 'https://api.map.baidu.com/direction/v2/transit?origin='+destinationLat+','+destinationLng+'&destination='+originLat+','+originLng+'&ak=IEhYRmWsKuZrP3rutOu3GatBBZ27lEVx'
    }
    //console.log(_url)

    // 百度api  根据  起点终点 经纬度信息  返回 路线图
    wx.request({
       url: _url,
       header: {
           'content-type': 'application/json'
       },
       success: function(res) {
        //console.log(res)
        if(res.data.message != "成功"){
          console.log(res.data.message)
          wx.showModal({
              content: '抱歉,查询不到合适的路线', // 参数错误。 路径名不合法的感觉
              showCancel: false,
              success: function (res) {
                if (res.confirm) {
                  // back回到上一级
                  wx.navigateBack({
                    delta:1
                  })
                }
              }
          });
        }else{
          //console.log(res.data.result.routes) // 返回一个数组  包含着 几种路线
          if( res.data.result.routes.length==0 ){ // 如果数组为空,给出提示信息  
              wx.showModal({
                content: '抱歉,查询不到合适的路线',
                showCancel: false,
                success: function (res) {
                  if (res.confirm) {
                    // back回到上一级
                    wx.navigateBack({
                      delta:1
                    })
                  }
                }
            });
          }else{
            _this.setData({
                routes : res.data.result.routes,
                loading: false,
                //hint: origin+'到'+destination+'的路线信息如下：',
                hint_origin: origin2,
                hint_destination: destination2
            });

            // 真正 查询一次后 将返程 起点和目的地写入
            wx.setStorage({
              key: 'return_origin', // 起点
              data: origin2
            })
            wx.setStorage({
              key: 'return_destination', // 目的地
              data: destination2
            }) 
            wx.setStorage({
              key: '_type', // 目的地
              data: _type
            }) 

            // 修改 功能主页上的 信息
            var page = getCurrentPages()
            var len = page.length-2
            page[len].setData({
                return_origin_value: origin2,
                return_destination_value: destination2,
                _type: _type
            })

            // 清理本地数据缓存
            //wx.clearStorage({})
            wx.removeStorage({
              key: 'origin'
            })
            wx.removeStorage({
              key: 'destination'
            })
              }
            }

       },

      fail:function(res){
        wx.showModal({
            content: '咦,操作失败,重新试试呗',
            showCancel: false,
            success: function (res) {
              if (res.confirm) {
                // back回到上一级
                wx.navigateBack({
                  delta:1
                })
              }
            }
        });
      }
     })
   }
})